"""str"""
# 需求：黑色 的汤姆 猫，爱吃鱼，也要喝水。
# 要求：打印汤姆猫对象

# 类设计三要素
# 类名：猫类 --> Cat
# 属性：颜色、名字 --> color  name
# 方法：吃、喝 --> eat()  drink()

# 1.定义类
class Cat(object):
    """猫类"""
    def __init__(self,color,name):
        """初始化方法：对象设置属性"""
        self.color = color
        self.name = name
    def eat(self):
        """吃方法"""
        print(f"{self.name}")
    def drink(self):
        """喝方法"""
        print(f"{self.name}")
    def __str__(self):
        """打印自定义类对象的方法"""
        return f"{self.color}的{self.name}猫"

# 2.创建对象
tom = Cat("黑色","汤姆")
# 3.调用方法
tom.eat()
tom.drink()
print(tom)
# 结果：对象在内存的地址（通过16进制表示）  <__main__.Cat object at 0x000001EC58B2A7B8>
# str方法总结：
# 1.str 内置方法需要放在类里面
# 2.str 方法必须return自定义信息
